package net.zigin.nhi.could.waste.service;

import net.zigin.nhi.could.waste.dto.PageDto;
import net.zigin.nhi.could.waste.dto.WasteBaseDto;
import net.zigin.nhi.could.waste.dto.WasteCountDto;
import net.zigin.nhi.could.waste.model.WasteBase;
import net.zigin.nhi.could.waste.service.BaseService;
import net.zigin.nhi.could.waste.vo.WasteBaseVo;
import net.zigin.nhi.could.waste.vo.WasteCountVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/*#################################################################*
# 说明:以下代码通过哲勤代码生成工具自动生成    
# 工具:GeneratorCode
# 作者:mgw1986                                                  
# 生成时间:2021-9-20 17:17:58                                               
##################################################################*/


/**
 * WasteBase服务接口类
 *
 * @author mgw1986
 * @version V1.0
 * @ClassName: WasteBaseService
 * @date 2021-9-20 17:17:58
 */
public interface WasteBaseService extends BaseService<WasteBase, String> {

    // todo 报表 医废 各月 近7天分类 实时 科室

    List<WasteCountVo> eachMonth();

    List<WasteCountVo> weekClassify();

    List<WasteCountVo> fifteenDepart(WasteCountDto wasteCountDto);

    List<WasteBaseVo> getList(WasteBaseDto wasteBaseDto);

    Integer getCount(WasteBaseDto wasteBaseDto);

    List<WasteCountVo> statusReport(WasteCountDto wasteCountDto);

    List<WasteCountVo> classifyReport(WasteCountDto wasteCountDto);

    List<WasteCountVo> classifyDepartReport(WasteCountDto wasteCountDto);

    List<WasteBaseVo> collectList(PageDto pageDto);

    Map<String, Object> situation();

    void exportList(WasteCountDto wasteCountDto, HttpServletResponse response);

    Map<String,Object> warnInfoByBoxRecordId(String boxRecordId);

    /**
     * 医废根据id删除
     * @param id 医废id
     */
    void deleteById(String id);
}
